//对负号进行重载
#include <iostream>
using namespace std;

class point
{

    int a;
    int b;

public:
    point(int m_a, int m_b) : a(m_a), b(m_b){};
    void display()
    {
        cout << a << b << endl;
    }
    const point operator-() //负号返回的是临时对象，不能被赋值，故返回值为const
    {
        return point(-a, -b); //return point (-this->a,-this->b);
    }
};
int main()
{
    point p1(3, 5);
    p1.display();
    point p2(1, 4);
    point p3 = -p2;
    p3.display();

    point p4 = -(-(p2)); //报错  第一次调用负号重载函数返回的是const,常对象不能调用非常函数所以 要将负号重载函数定义为常函数
    //const point operator-() const
    p4.display();
}